#pragma once

class CPenGeometry
{
public: 
	CPenGeometry(const CPenGeometry &);
	CPenGeometry();

	XINT32 IsCircular();
	void Set(XFLOAT, XFLOAT, XFLOAT);
	XFLOAT GetWidth();
	void SetWidth(XFLOAT rWidth);
	XFLOAT GetHeight();
	void SetHeight(XFLOAT rHeight);
	XFLOAT GetAngle();
	void SetAngle(XFLOAT);
	XINT32 IsEmpty();
	enum XcpPenCap GetStartCap();
	void SetStartCap(enum XcpPenCap eCap);
	enum XcpPenCap GetEndCap();
	void SetEndCap(enum XcpPenCap eCap);
	enum XcpPenCap GetDashCap();
	void SetDashCap(enum XcpPenCap eCap);
	enum XcpLineJoin GetJoin();
	void SetJoin(enum XcpLineJoin eJoin);
	XFLOAT GetMiterLimit();
	void SetMiterLimit(XFLOAT val);
	XFLOAT GetInflateFactor();
	XFLOAT GetExtents();
protected: 
	XFLOAT m_rWidth;
	XFLOAT m_rHeight;
	XFLOAT m_rAngle;
	enum XcpPenCap m_eStartCap;
	enum XcpPenCap m_eEndCap;
	enum XcpPenCap m_eDashCap;
	enum XcpLineJoin m_eJoin;
	XFLOAT m_rMiterLimit;
};